package com.order.www;

/**
 * Creared with IntelliJ IDEA.
 * Description:在一个二维数组array中（每个一维数组的长度相同），每一行都按照从左到右递增的顺序排序，每一列都按照从上到下递增的顺序排序。请完成一个函数，输入这样的一个二维数组和一个整数，判断数组中是否含有该整数。
 * [
 * [1,2,8,9],
 * [2,4,9,12],
 * [4,7,10,13],
 * [6,8,11,15]
 * ]
 * 给定 target = 7，返回 true。
 *
 * 给定 target = 3，返回 false。
 * User:yxd
 * Date:2022-01-30
 * Time:21:59
 */
public class Array1 {
    public static void main(String[] args) {
        int a = 4;
        int[][] array = {{1,2,8,9},{2,4,9,12},{4,7,10,13},{6,8,11,15}};
        System.out.println(Find(a, array));
    }
    public static boolean Find(int target, int [][] array) {
        if(array == null)return false;
        //和一行中最大的值比较如果大就下一行小就在此行找，找不到再到下一行
        int i = 0;
        int j = array[0].length;//一行的所有元素
        while(i < array.length && j >= 1){
            if(array[i][j - 1] > target){
                for(int z = 0;z < j;z++){
                    if(array[i][z] == target){
                        return true;
                    }
                }
            }else if(array[i][j - 1] == target){
                return true;
            }
            i ++;
        }
        return false;
    }
}
